colorpickerportal: Simplify version fetching code
authorBastien Nocera <hadess@hadess.net>
Mon, 23 Mar 2020 13:45:57 +0000 (14:45 +0100)
committerBastien Nocera <hadess@hadess.net>
Mon, 30 Mar 2020 16:31:23 +0000 (18:31 +0200)
Simplify version checking code by using a function to fetch the uint out
of the GVariant and don't throw a warning if it can't be fetched.

gtk/gtkcolorpickerportal.c

index a382f5105604be49d76c5e7416dd1ba04dd2475a..2f64a8fa9fcf93e76fb2a49e9f9240e2ff0e867e 100644 (file)
@@ -51,7 +51,7 @@ gtk_color_picker_portal_initable_init (GInitable     *initable,
   GtkColorPickerPortal *picker = GTK_COLOR_PICKER_PORTAL (initable);
   char *owner;
   GVariant *ret;
-  guint version;
+  guint version = 0;
 
   if (!gdk_should_use_portal ())
     return FALSE;
@@ -71,7 +71,7 @@ gtk_color_picker_portal_initable_init (GInitable     *initable,
       return FALSE;
     }
 
- owner = g_dbus_proxy_get_name_owner (picker->portal_proxy);
 owner = g_dbus_proxy_get_name_owner (picker->portal_proxy);
   if (owner == NULL)
     {
       g_debug ("%s not provided", PORTAL_SCREENSHOT_INTERFACE);
@@ -81,8 +81,12 @@ gtk_color_picker_portal_initable_init (GInitable     *initable,
   g_free (owner);
 
   ret = g_dbus_proxy_get_cached_property (picker->portal_proxy, "version");
-  g_variant_get (ret, "u", &version);
-  g_variant_unref (ret);
+  if (ret)
+    {
+      version = g_variant_get_uint32 (ret);
+      g_variant_unref (ret);
+    }
+
   if (version != 2)
     {
       g_debug ("Screenshot portal version: %u", version);